using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using FiltronASP.Models.Validators;

namespace FiltronASP.Models
{
    /// <summary>
    /// Fragment klasy odpowiadajacy tabeli <code>Languages</code>.
    /// </summary>
    [MetadataType(typeof(LanguageValidation))]
    public partial class Language
    {
    }

    /// <summary>
    /// Klasa z walidacja dla niektorych danych klasy <code>Language</code>.
    /// </summary>
    public class LanguageValidation
    {

        [HiddenInput(DisplayValue = false)]
        public int language_id { get; set; }

        [Required(ErrorMessage = "Nazwa skrócona wersji językowej jest wymagana.")]
        [StringLength(20, ErrorMessage = "Nazwa skrócona wersji językowej nie powinna być dłuższa niż 20 znaków.")]
        [AlpaNumeric(ErrorMessage = "Nazwa skrócona wersji językowej nie powinna zawierać znaków specjalnych.")]
        public string language_abbr { get; set; }

        [Required(ErrorMessage = "Nazwa wersji językowej jest wymagana.")]
        [StringLength(80, ErrorMessage = "Nazwa wersji językowej nie powinna być dłuższa niż 80 znaków.")]
        [AlpaNumeric(ErrorMessage = "Nazwa skrócona wersji językowej nie powinna zawierać znaków specjalnych.")]
        public string language_name { get; set; }

        [StringLength(100, ErrorMessage = "Link do obrazka flagi dla wersji językowej nie powinien być dłuższy niż 100 znaków.")]
        public string language_img { get; set; }

    }
}
